package com.info.zhiduoduo.repository.dto.maker;

import com.info.zhiduoduo.repository.entity.maker.Tag;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)  //setter return this;
@ToString
public class MakerDetailDto {

	// ------------------- 用户基本信息 ----------------//
	private Integer userid;
	/**
	 * 手机号码
	 */
	private String phone;
	/**
	 * 邀请码
	 */
	private String inviteCode;
	private String inviter;
	/**
	 * 微信名
	 */
	private String nickname;
	/**
	 * 微信OPENID
	 */
	private String openid;

	@ApiModelProperty(" OPENID")
	private String taxerOpenid;
	/**
	 * 微信唯一标识
	 */
	private String unionid;
	/**
	 * 头像url
	 */
	private String avatar;
	/**
	 * 0未知1男2女
	 */
	private Integer sex;
	@ApiModelProperty("1:免费用户，2:收费用户")
	private Integer usertype;
	@ApiModelProperty("创客类型：1：  2：  3:智众包创客")
	private Integer makerType;
	@ApiModelProperty("注册支付id")
	private Integer payid;
	@ApiModelProperty("注册支付状态0：未提交 1：已提交 2：已支付")
	private int paidState;
	@ApiModelProperty(" 生效日期")
	private Date issueDate;
	@ApiModelProperty(" 到期日期")
	private Date expireDate;
	/**
	 * 绑定的企业id
	 */
	private Integer bindcompid;
	/**
	 * 备注所属公司
	 */
	private String compremark;
	/**
	 * 有无任职公司 0：无 1：有
	 * */
	private int hasCompany;
	/**
	 * 是否和交易企业存在劳动雇佣关系 0：否 1：是
	 * */
	private int hasContract;
	/**
	 * 任职企业名
	 */
	private String workCompany;
	/**
	 * 1.微信
	 */
	private Integer regfrom;
	/**
	 * 用户状态 1注册未绑定手机 2已绑定手机 3冻结 4解约
	 */
	private Integer state;
	/**
	 * 是否接收公告 0：正常 1：不接受
	 */
	private Integer noticeFlag;

	@ApiModelProperty("创客注销申请状态，状态 1：申请中 2：已受理 3：已拒绝 4：已完成解约")
	private Integer rescissionState;


	/**
	 * 创客注册共青城个体户的视频和签名是否提交（默认0 1为已提交）
	 */
	private int businessDataSubmint;

	/**
	 * 客服驳回创客注册共青城个体户原因
	 */
	private String rejectBusinessRegisterReason;

	/**
	 * 审核创客视频签名资料状态（默认0 1 通过 2驳回）
	 */
	private int examineBusinessDataState;


	// -------------------- 用户实名信息 -----------------//

	private Integer acctid;
	/**
	 * 实名认证 1.未认证 2认证失败 3:重新提交 4:已认证 5:已开户
	 */
	private Integer realnameAuth;
	/**
	 * 姓名
	 */
	private String realname;
	/**
	 * 1:大陆 2：港澳台胞证
	 */
	private Integer identityType;
	/**
	 * 身份证ID
	 */
	private String idno;
	/**
	 * 身份证前照片
	 */
	private String idfrontimg;
	/**
	 * 身份证后照片
	 */
	private String idbackimg;
	private String educationimg;
	private String identificationimg;

	@ApiModelProperty("工商认证状态 0: 否 1:已认证 2:已驳回")
	private Integer businessAuthenticationState;

	@ApiModelProperty("工商认证凭证")
	private String businessAuthenticationImg;

	@ApiModelProperty("工商认证凭证驳回原因")
	private String businessAuthenticationReason;
	/**
	 * 平台规则 0: 未阅读 1：已阅读
	 */
	private Integer agreeProtocol;
	private Date createtime;

	/**
	 * 创客开户地 1天津 2共青城
	 */
	private Integer openingLocation;

	/**
	 * 创客共青城注册资料是否提交 默认0   1为已提交
	 */
	private int gongQingDataSubmint;

	/**
	 * 政府审核创客共青城注册状态 0待审核 1已审核 2已否决
	 */
	private String governmentExamineState;

	/**
	 * 政府驳回理由
	 */
	private String governmentRejectionReasons;

	@ApiModelProperty("电子签名图片存储路径")
	private String electronicSignature;

	@ApiModelProperty("是否为临时登陆类型: 0:否 1:是")
	private int temporaryLogin;

	// -------------------- 个人银行卡信息 -----------------//
	/**
	 * 银行卡持有人
	 */
	private String payername;
	/**
	 * 1.储蓄卡 2信用卡
	 */
	private Integer cardtype;
	/**
	 * 开户行名称
	 */
	private String bankname;
	/**
	 * 开户行网点
	 */
	private String openAcctBankName;
	/**
	 * 银行卡预留电话
	 */
	private String telephone;
	/**
	 * 卡号
	 */
	private String acctno;
	/**
	 * 持有人身份证
	 */
	private String acctIdno;

	//对公账户信息
	/**
	 * 银行卡持有人
	 */
	private String payername2;
	/**
	 * 1.储蓄卡 2信用卡
	 */
	private Integer cardtype2;
	/**
	 * 开户行名称
	 */
	private String bankname2;
	/**
	 * 开户行网点
	 */
	private String openAcctBankName2;
	/**
	 * 开户省份
	 */
	private String bankProvince2;
	/**
	 * 开户城市
	 */
	private String bankCity2;
	/**
	 * 银行卡预留电话
	 */
	private String telephone2;
	/**
	 * 卡号
	 */
	private String acctno2;
	/**
	 * 持有人身份证
	 */
	private String acctIdno2;
	/**
	 * 对公开户行行号，企业账户需要填，个人账户不需要
	 */
	private String bankno2;

	@ApiModelProperty("紧急联系人姓名")
	private String nameOfEmergencyContact;

	@ApiModelProperty("紧急联系人电话")
	private String phoneOfEmergencyContact;


	// -------------------- 个人工作室信息 -----------------//

	/**
	 * 工作室名称
	 */
	private String username;
	private String studionickname;
	/**
	 * 自我介绍
	 */
	private String intro;
	/**
	 * 社会统一信用代码
	 */
	private String creditcode;
	/**
	 * 地址
	 */
	private String addr;
	private String studiophone;
	private Integer fieldid;
	private String fieldname;
	/**
	 * 行业分类ID
	 */
	private Integer tradecategoryid;
	/**
	 * 经营范围
	 */
	private String bizscope;
	private int specialinvoice;
	/**
	 * 发票范围
	 */
	private String invoicescope;
	private String studiolicensephoto;
	private String studiotaxphoto;
	/**
	 * 工作室状态1:创建中 2:已确定
	 */
	private int studioState;
	/**
	 * 税户状态 1：不可开户 2：可以开户 3：已开户
	 */
	private Integer taxAcctState;
	/**
	 * 是否已开税户 0：否 1：是
	 */
	private Integer openTaxAcct;
	@ApiModelProperty("是否开通 功能 0：否 1：是")
	private Integer taxer;
	@ApiModelProperty(" 开通 注册费用是否已支付 0：否 1：是")
	private Integer taxerPaid;
	@ApiModelProperty("开通 时间")
	private Date taxerTime;
	@ApiModelProperty(" 邀请码")
	private String taxerInviteCode;
	@ApiModelProperty(" 邀请名称")
	private String taxerInviteName;
	@ApiModelProperty(" 邀请对应金额")
	private BigDecimal taxerInviteAmount;
	@ApiModelProperty(" 邀请码备注")
	private String taxerInviteRemark;
	private List<Tag> tagList;

	//文化程度
	private int education;
	//政治面貌
	private int political;
	//邮箱
	private String email;
	//常住地
	private String residence;
	//行业
	private String industry;
	//职业
	private String occupation;

	@ApiModelProperty("显示核心模块")
	private String coreModule;

	@ApiModelProperty("分佣计算开关状态  0:关 1:打开")
	private Integer brokerageComputeState;

	@ApiModelProperty("智众包创客转换成 创客开关 0:关 1:开")
	private Integer crowdsourceConvertZddMaker;

	@ApiModelProperty("智众包OPENID, 当智众包创客转换成 创客时, 记录之前的智众包openid")
	private String crowdsourceOpenid;
	@ApiModelProperty("是否是固定服务费率 0:否 1:是")
	private Integer fixedService;
	@ApiModelProperty("固定费率")
	private Double fixedServiceRate;
	@ApiModelProperty("创客限额开关 0：关 1：开")
	private Integer quotaFlag;
	@ApiModelProperty("创客过去12个月限额开关 0：关 1：开")
	private Integer twelveMonthQuotaFlag;

	@ApiModelProperty("芜湖地区创客，委托定税视频文件路径")
	private String entrustTaxVideoFile;
	@ApiModelProperty("芜湖地区创客，委托定税视频审核状态 1：未审核 2：已审核 3：已驳回")
	private Integer entrustTaxVideoState;
	@ApiModelProperty("芜湖地区创客，委托定税视频审核备注，失败原因等")
	private String entrustTaxVideoRemark;

	@ApiModelProperty("支付宝账号")
	private String alipayAccount;

	@ApiModelProperty("打款账号状态 0:银行卡 1:支付宝 2:对公账号")
	private Integer paymentAccountStatus;

	@ApiModelProperty("打款账号状态 0:银行卡 1:支付宝 2:对公账号")
	private Integer paymentAccountStatusTwo;

}
